package com.sunny.blog.service;

import cn.hutool.json.JSONObject;
import com.sunny.blog.pojo.BloggerInfoBean;
import com.sunny.blog.pojo.CommentUserBean;
import com.sunny.blog.pojo.LoginReqBean;
import com.sunny.blog.pojo.UserInfoBean;

import java.util.List;

/**
 * @ClassName: UserInfoService
 * @Description:
 * @Author: sunt
 * @Date: 2020/4/13 9:56
 * @Version 1.0
 **/
public interface UserInfoService {


    /**
     * 查询所有用户信息
     * @return
     */
    List<UserInfoBean> queryAllUser();

    /**
     * @Title: doLogin
     * @Description:登录
     * @param loginReqBean
     * @return
     */
    JSONObject doLogin(LoginReqBean loginReqBean);

    /**
     * @Title: getLoginInfo
     * @Description:根据token获取登录信息
     * @param token
     * @return
     */
    UserInfoBean getLoginInfo(String token);

    /**
     * 根据用户名查询用户信息
     * @param userName
     * @return
     */
    UserInfoBean queryUserByName(String userName);

    /**
     * 查询博主扩展信息
     * @return
     */
    List<BloggerInfoBean> queryBloggerInfo(String userId);

    /**
     * 前端评论用户登录
     * @param loginReqBean
     * @return
     */
    JSONObject userLogin(CommentUserBean loginReqBean);

    /**
     * 根据用户名查询用户基本信息
     * @param userName
     * @return
     */
    CommentUserBean queryCommentUser(String userName);

    /**
     * 评论用户注册
     * @param commentUserBean
     */
    void insertCommentUser(CommentUserBean commentUserBean);

    /**
     * 修改密码
     * @param userName
     * @param passWord
     */
    void updatePassWord(String userName,String passWord);

    /**
     * 注册校验
     * @return
     */
    JSONObject validRegister(CommentUserBean commentUserBean);

    /**
     * 判断邮箱或者昵称是否已经存在
     * @param userEmail
     * @param userNick
     * @return
     */
    boolean isExists(String userEmail,String userNick);

    CommentUserBean queryUserById(String userId);


}
